Кастомизация Viewer готового отчета в FastReport .NET

29.02.2020

Основной инструмент просмотра отчетов FastReport .NET – Viewer. Этот просмотрщик имеет богатый инструментарий для сохранения, экспорта, печати и других манипуляций с отчетом.

Все это многообразие кончено же полезно, но не всегда нужно. Например, для пользователей, которые только просматривают и печатают отчет экспорт и отправка по электронной почте совсем ни к чему. Также, многим совсем не нужен большой список доступных экспортов отчета. Вы только путаетесь и теряете время при поиске нужного. В таких случаях хотелось бы оставить только нужные функциональные возможности для этих пользователей. И это можно сделать достаточно просто.

Этот вопрос возник и у пользователя генератора отчетов Combit List & Label.

Дизайнер отчетов FastReport.Net, как вы знаете, тоже позволяет просматривать отчеты. Для этого он использует все тот же Viewer. И вы можете настроить список доступных экспортов в настройках дизайнера. Меню File->Options->User Interface:

 

Кнопка Exports Menu открывает окно настройки отображения экспортов:

 

Можно настроить отображение как отдельных экспортов, так и целой группы. Для быстрого восстановления изначальных настроек есть кнопка Default Menu. Например, мы убрали из отображения экспорт в формат PDF, Office и XML. И действительно при просмотре отчета мы увидим, что в списке экспортов их больше нет:

 

Но из дизайнера отчетов мы можем настроить только отображение списка экспортов. Как же быть с другими элементами управления? Для этого придется воспользоваться навыками программирования. При создании приложения в котором будет запускаться просмотр отчетов мы можем задать настройки меню просмотрищика. Например, такой код:

1
2
3
4
5
Report report = new Report();
 report.Load("App_Data/Master-Detail.frx");
 report.Prepare();
 FastReport.Utils.Config.PreviewSettings.Buttons = PreviewButtons.Print | PreviewButtons.Design;
 report.ShowPrepared();

Здесь, мы настраиваем отображение кнопок. А именно - явно перечисляем кнопки, которые будут отображены: Print и Design.

В результате мы получим:           

Отличный результат – ничего лишнего. Помимо кнопок, также отображается номер страницы в поле ввода. Его убрать нельзя, иначе без кнопок навигации по страницам невозможно будет переходить на другие страницы.

Теперь можно немного поэкспериментировать. Если ваше приложение подразумевает какую-то логику по скрытию/отображению элементов управления в превью, то наверняка будет полезной возможность вернуть все к начальному виду:

Config.PreviewSettings.Buttons = PreviewButtons.All;

Можно пойти другим путем и не перечислять кнопки, которые нужно отображать, а наоборот перечислить те, которые нужно исключить:

Config.PreviewSettings.Buttons ^= PreviewButtons.Email;

При этом, кнопка отправки электронного письма пропадет, а все остальные будут доступны.

Конечно же, вы можете редактировать список доступных экспортов по аналогии с выше приведенными примерами.

Там же можно настраивать список экспортов через:

Config.PreviewSettings.Exports

И экспорты в облака через:

Config.PreviewSettings.Clouds

2 сентября 2024

Обзор облачного решения для создания и управления отчетами

МоиОтчеты Облако — это мощное облачное решение для создания и управления отчетами, обеспечивающее широкий спектр возможностей, от создания документов в различных форматах до интеграции с корпоративными системами.
12 августа 2024

Как собрать и установить плагин Postgres в FastReport .NET

В этой статье описывается подключение к базе посредством плагина FastReport .NET для дизайнера отчетов из Visual Studio через NuGet-сервер.
8 августа 2024

Как установить FastReport .NET и его компоненты в Windows

Пошаговая инструкция по онлайн и ручной установке через регистрационный код FastReport .NET и его компонентов в Windows.